package _09_abstract_factory_pattern.v_common.factory.impl;

import _09_abstract_factory_pattern.v_common.factory.AbstractCreator;
import _09_abstract_factory_pattern.v_common.product.AbstractProductA;
import _09_abstract_factory_pattern.v_common.product.AbstractProductB;
import _09_abstract_factory_pattern.v_common.product.impl.ProductA1;
import _09_abstract_factory_pattern.v_common.product.impl.ProductB1;

/**
 * @Description:
 * 如何创建一个产品，则是由具体的实现类来完成的
 * 有M个产品等级就应该有M个实现工厂类，在每个实现工厂中，实现不同产品族
 * 的生产任务
 * @Auther: 2019/6/12 14:11 by zhang.jy
 */
public class Creator1 extends AbstractCreator {
	//只生产产品等级为1的A产品
	@Override
	public AbstractProductA createProductA() {
		return new ProductA1();
	}

	//只生产产品等级为1的B产品
	@Override
	public AbstractProductB createProductB() {
		return new ProductB1();
	}
}